1. Field of the Invention
The present invention relates to a learning algorithm for the optimization and adaptive equalization of the filter coefficients (tap coefficients) of a digital filter. In particular, it relates to a learning algorithm for the optimization and adaptive equalization of filter coefficients in the partial response (PR) equalization used in the read channel circuit of a disk device and the like. It also relates to a learning algorithm for the optimization and adaptive equalization of filter coefficients used when a signal interpolation type timing recovery method is adopted.
2. Description of the Related Art
In the read channel circuit of a magnetic disk or an optical disk, the analog data signal read from a recording media by a head is amplified to an appropriate amplitude by a head amplifier, an automatic gain controller (AGC) and an analog filter. In this case, anti-aliasing, the elimination of high-frequency-band noise and a part of waveform equalization are conducted against an analog signal. Then, the analog signal is converted into a digital signal by the discretization/quantization of an analog/digital converter (ADC) and the waveform is shaped by an equalization filter. Then, it is outputted.
In a partial response maximum likelihood (PRML) method, which is currently used mainly as the reproduction method of recorded data and a method of iterative decoding, whose further development is expected in the future, equalization output is outputted as a PR signal, including a finite length of inter-symbol interference. If there is no error in the signal, the obtained PR signal is indicated by the transition among finite states. An input signal series, in which the error of an equalized signal is minimized (in which, as a result, the error rate of an equalized signal is minimized) can be calculated by the maximum likelihood decision by a Viterbi decoder or an iterative decoding method using a maximum a posteriori probability (MAP) decider, and the original signal series can be estimated.
Although an equalization filter is used to obtain this PR equalization signal, the filter coefficients must be adaptively changed using an appropriate learning algorithm instead of fixing them in order to absorb the fluctuations of a characteristic due to variations in a recording medium and a head, its time fluctuations, and a recording place (cylinder). As this learning algorithm, the least mean square (LMS) algorithm is usually used. The LMS algorithm is as follows.
If a signal to be inputted to an equalization filter at the m-th clock time and the i-th filter coefficient are x(m) and f(i), respectively, the output signal y(m) of the equalization filter is expressed as follows:
                              y          ⁢                                          ⁢                      (            m            )                          =                                            ∑                              i                =                                  N                  1                                                            N                2                                      ⁢                                          f                ⁡                                  (                  i                  )                                            ×                              (                                  m                  -                  i                                )                                              =                                    ∑                              i                =                                  N                  1                                                            N                2                                      ⁢                                          f                ⁡                                  (                  i                  )                                            ⁢                                                ∑                                      k                    =                                          -                      ∞                                                        ∞                                ⁢                                                      h                    ⁡                                          (                      k                      )                                                        ⁢                                      a                    ⁡                                          (                                              m                        -                        i                        -                        k                                            )                                                                                                                              (        1        )            
If the expected squared value of an error signal e(m), which is the difference between an ideal output ŷ(m) (hereinafter described as “y(m) hat”) and a real output y(m) (e(m)=y(m)−y(m) hat), is mse, the slope of mse against f(i) is expressed as follows:
                                                                                          ∂                                      ∂                                          f                      ⁡                                              (                        i                        )                                                                                            ⁢                mse                            =                                                ∂                                      ∂                                          f                      ⁡                                              (                        i                        )                                                                                            ⁢                                  〈                                                            e                      ⁡                                              (                        m                        )                                                              2                                    〉                                                                                                        =                              2                ⁢                                  〈                                                            e                      ⁡                                              (                        m                        )                                                              ⁢                                          ∂                                              ∂                                                  f                          ⁡                                                      (                            i                            )                                                                                                                ⁢                                          y                      ⁡                                              (                        m                        )                                                                              〉                                                                                                        =                              2                ⁢                                  〈                                                            e                      ⁡                                              (                        m                        )                                                              ×                                          (                                              m                        -                        i                                            )                                                        〉                                                                                        (        2        )            
Therefore, it is found that this slope is the expected product of error signal e(m) and the input signal x(m−i) of the i-th tap.
An LSM algorithm is an adaptive algorithm used to obtain a filter coefficient that minimizes an expected squared error by estimating the slope vector for a filter coefficient with a squared error using an instantaneous value e(m)×(m−i) at each clock time instead of an expected value <e(m)×(m−i)>, multiplying the value by an appropriate coefficient and feeding it back.
FIG. 1A shows the basic circuit of an adaptive linear equalizer using an LMS algorithm. FIG. 1A shows the equalizer with six taps. The equalizer shown in FIG. 1A comprises an LMS adaptive learning circuit 11, a variable-coefficient finite impulse response (FIR) filter and a decision circuit 13. Each of the learning circuit 11 and FIR filter 12 further comprises a delay device 21, an adder 22 and a multiplier 23. The delay device 21 delays an input signal by a delay D of a bit cycle and outputs it. The adder 22 outputs the sum of two inputted signals. The multiplier 23 outputs the product of two inputted signals.
The learning circuit 11 generates the i-th filter coefficient fi(n) (i=0, 1, 2, 3, 4 and 5) at the n-th clock time, based on a signal fed back from the decision circuit 13 and outputs it to the FIR filter 12. The decision circuit 13 generates an error signal e(n) and a decision signal a(n) from a PR signal y(n) received from the FIR filter 12. e(n) is multiplied by a coefficient −m, and −me(n) is fed back to the learning circuit 11.
FIG. 1B shows the real equalization circuit that is configured based on the basic configuration shown in FIG. 1A. FIG. 1C shows the configuration of the equalization circuit, which is shown in FIG. 1B.
In the equalization circuit shown in FIG. 1B, latency for decision and error calculation are taken into consideration, and the FIR filter 12 is also configured so as to be suited for a high speed operation. In this circuit it is assumed that the decision circuit 13 delays/outputs an error signal e(n−1) by a delay Dl (l=1, 2, 3, . . . ) of l stages, and a decision signal a (n−m) by a delay Dm(m=1, 2, 3, . . . ) of m stages. For this purpose, −me(n−l) is fed back to the learning circuit 11, and the learning circuit 11 is provided with a delay device 24 delaying an input signal x(n) by Dl.
Next, timing recovery is described. If sampling timing, by which consecutive signals are made discrete, does not match, a correct output cannot be obtained. Therefore, a sampling phase error is detected from the equalization output of a circuit and an ideal equalization signal based on the result of decision, and the sampling timing of the ADC is adjusted by the loop control of a phase-locked loop (PLL) or a delay-locked loop (DLL).
In this case, since in the iterative decoding method using the maximum likelihood decision or a MAP decider, a rather large amount of time lag is needed to make the decision, sometimes another simple PR signal different from the PR signal y(n) used in the decision circuit 13 is also used to calculate an error signal used to adjust the timing. In this case, these two PR signals are not generated separately. Usually, firstly, a lower-order PR signal for timing adjustment is generated by an adaptive filter, and then, by passing it through a fixed-coefficient filter, a PR signal used in the decision circuit 13 is obtained.
For example, in a modified extended extended partial response (MEEPR) method, PR equalization is conducted in such a way that an ideal response against a single pulse is (1−D2) (1+aD+bD2). In this case, firstly, a signal with a PR4 (partial response class 4) characteristic (1−D2) can be obtained by adaptive equalization, and then a characteristic needed for decision can be obtained using a three-tap fixed-coefficient FIR filter having a characteristic (1+aD+bD2). For timing recovery, a phase error signal is generated by simply judging the PR4 output.
As another timing recovery method, there is a signal interpolation type timing recovery method. In this method, instead of adjusting the sampling timing, the estimated value of an input signal in arbitrary timing can be obtained by interpolating signals sampled at predetermined intervals. The same effect as that obtained by adjusting sampling timing can be obtained by using this method.
This timing recovery method has the following advantages compared with the method of adjusting sampling timing.    (1) Since an adaptive equalization filter can be located before a timing recovery loop, there is only a small amount of loop delay.    (2) Since the entire timing recovery is digitally conducted, stable and high-speed control can be easily realized.    (3) If sampled data is stored, a retrial can be made at a high speed when interpolating it again.    (4) Since there is not always a need to interpolate a plurality of segments of stored data in sequential order, timing recovery different from that of the method of adjusting sampling timing is possible.
However, if the adaptive equalization filter is located out of a loop, the clock time of a signal handled by an adaptive equalization is different from that of a signal corresponding to the interpolation output after timing recovery. Therefore, an output error cannot be simply fed back. For this reason, its feedback is usually made after an output error signal is converted into the value at the clock time of the input signal by inverse interpolation. For this inverse interpolation, zero-th order hold or linear interpolation is usually used. In the signal interpolation type timing recovery method, sampling is usually conducted at a rate higher than the symbol rate of a signal in order to improve interpolation accuracy.
FIG. 1D shows the configuration of a read channel circuit adopting the signal interpolation type timing recovery method. The read channel circuit shown in FIG. 1D comprises an AGC/analog amplifier 31, an A/D converter 32, an equalization filter 33, an interpolator 34, a decider 35, a phase error detector 36, a loop filter 37, coefficient generators 38 and 39, an equalization error detector 40, an inverse interpolator 41, an LMS adaptive learning circuit 42 and a gain error detector 43. Of these devices, the equalization filter 33 and the learning circuit 42 correspond to the FIR filter 12 and the learning circuit 11, respectively, which are shown in FIG. 1C. The decider 35 and the equalization error detector 40 correspond to the decision circuit 13 shown in FIG. 1C.
The AGC/analog amplifier 31 amplifies analog signals from a head, and the A/D converter 32 converts analog signals into digital signals by sampling. The equalization filter 33 shapes the waveform of a digital signal using filter coefficients outputted from the LMS adaptive learning circuit 42, and the interpolator 34 generates a signal in a necessary timing by interpolating the output signal of the equalization filter 33. The decider 35 estimates the original signal series and outputs a decision signal.
The phase error detector 36 detects a sampling phase error using the output of the decider 35, and the loop filter 37 generates phase information for interpolation from the phase error. The coefficient generators 38 and 39 generate interpolation coefficients and inverse interpolation coefficients, respectively using the output of the loop filter 37, and output the coefficients to the interpolator 34 and the inverse interpolator 41, respectively.
The equalization error detector 40 detects an equalization error using the output of the decider 35 and outputs an error signal. The inverse interpolator 41 inversely interpolates the error signal from the equalization error detector 40 and generates an error signal in the original timing. The LMS adaptive learning circuit 42 generates filter coefficients by an LMS algorithm using the error signal from the inverse interpolator 41, and outputs it to the equalization filter 33.
The gain error detector 43 detects a gain error using the output of the decider 35, and the AGC/analog amplifier 31 changes a gain based on the gain error.
By interpolating sampled signals, the original signal series can be correctly estimated and by inversely interpolating the error signal and feeding it back, filter coefficients suited for a signal handled by the equalization filter 33 can be generated.
There are learning algorithms for an adaptive filter other than LMS. For example, as a method for minimizing an error of the linear operation result for an output of an adaptive equalizer instead of an error of its output, there is a filtered X LMS algorithm used to eliminate noise and the like. In this algorithm, the correlation between a result obtained by passing an input signal through a filter that approximates a transfer function from speaker output that is proportional to the output of an adaptive equalization, up to a measurement point, and an error signal, is used as a signal for filter coefficient update. Thus, filter coefficients that can minimize the power of an error (residual noise) at the measurement point can be obtained.
The learning algorithm for the optimization and adaptive equalization of filter coefficients in the conventional linear equalizer described above has the following problems.
In the conventional PR equalization circuit, including an adaptive filter, in which filter coefficients change adaptively, an LMS algorithm is used as the learning algorithm of filter coefficients. This algorithm estimates the slope of a squared error against a filter coefficient and uses the estimated slope in order to correct the filter coefficient. In this case, the expected squared error value can be converged into the minimum value in a small amount of calculation, which is an advantage.
However, in a real system, sometimes filter coefficients that minimize the output error of an adaptive filter does not always realize a filter having the best characteristic. The following are some example cases.
In the first case, an equalization filter is configured by serially connecting two linear filters; an adaptive filter and a fixed-coefficient filter. In this case, the expected squared error value of the fixed-coefficient filter, which is its final output, should be minimized, instead of that of the output of the adaptive filter, which is its intermediate output. For example, this corresponds to the case where an MEEPR method is organized in such a way that firstly a PR4 characteristic (1−D2) for timing recovery is obtained using the adaptive filter and then an MEEPR characteristic (1−D2) (1+aD+bD2) is obtained using a fixed-coefficient FIR filter (1+aD+bD2) serially connected to the adaptive filter.
In the second case, a signal interpolation type timing recovery equalizer is used. In this case, since, as shown in FIG. 1D, in a usual configuration, where an interpolator interpolating signals is connected after an adaptive filter, the output of the adaptive filter is an intermediate output. Therefore, in this case, the expected squared error value of the output of the interpolator, which is the final output, should be minimized. If an interpolator is regarded as a time-variant linear filter, the second case can be considered to be the modification of the first case. However, since the sampling interval of an input to an adaptive filter is generally different from the sampling interval of an output from the interpolator, feedback is needed between different clock domains.
In the third case, instead of estimating an input signal series by checking the output level of an equalizer, decision is conducted by an iterative decoding method using the maximum likelihood decision or a MAP decider. In this case, instead of decision with the output of an adaptive filter is conducted, an appropriate calculation is conducted using the output and then the decision is conducted. Therefore, filter coefficients that minimize the error rate of the decision does not always minimize the error of the output of the adaptive filter.
These situations often occur in a real system. None of these situations always occurs independently, and there are a variety of combinations.
In particular, decision by the maximum likelihood decision or a MAP decider in the third case is an indispensable technology in the current read channel circuit. However, since currently an LMS algorithm suitable for level decision is used as the learning algorithm of an adaptive equalizer, optimal filter coefficients cannot be obtained. In order to cope with this situation, coefficient learning can be conducted using a signal in a Viterbi decoder that conducts the maximum likelihood decision. However, such learning takes a very long time, which is another problem.